﻿using System;
using com.ib.client;

namespace Trading.IBApi
{
    public abstract class EWrapperBase : EWrapper
    {
        public virtual void accountDownloadEnd(string accountName) { }
        public virtual void bondContractDetails(int reqId, ContractDetails contractDetails) { }
        public virtual void contractDetails(int reqId, ContractDetails contractDetails) { }
        public virtual void contractDetailsEnd(int reqId) { }
        public virtual void currentTime(long time) { }
        public virtual void deltaNeutralValidation(int reqId, UnderComp underComp) { }
        public virtual void execDetails(int reqId, Contract contract, Execution execution) { }
        public virtual void execDetailsEnd(int reqId) { }
        public virtual void fundamentalData(int reqId, string data) { }
        public virtual void historicalData(int reqId, string date, double open, double high, double low, double close, int volume, int count, double WAP, bool hasGaps) { }
        public virtual void managedAccounts(string accountsList) { }
        public virtual void nextValidId(int orderId) { }
        public virtual void openOrder(int orderId, Contract contract, Order order, OrderState orderState) { }
        public virtual void openOrderEnd() { }
        public virtual void orderStatus(int orderId, string status, int filled, int remaining, double avgFillPrice, int permId, int parentId, double lastFillPrice, int clientId, string whyHeld) { }
        public virtual void realtimeBar(int reqId, long time, double open, double high, double low, double close, long volume, double wap, int count) { }
        public virtual void receiveFA(int faDataType, string xml) { }
        public virtual void scannerData(int reqId, int rank, ContractDetails contractDetails, string distance, string benchmark, string projection, string legsStr) { }
        public virtual void scannerDataEnd(int reqId) { }
        public virtual void scannerParameters(string xml) { }
        public virtual void tickEFP(int tickerId, int tickType, double basisPoints, string formattedBasisPoints, double impliedFuture, int holdDays, string futureExpiry, double dividendImpact, double dividendsToExpiry) { }
        public virtual void tickGeneric(int tickerId, int tickType, double value) { }
        public virtual void tickOptionComputation(int tickerId, int field, double impliedVol, double delta, double optPrice, double pvDividend, double gamma, double vega, double theta, double undPrice) { }
        public virtual void tickPrice(int tickerId, int field, double price, int canAutoExecute) { }
        public virtual void tickSize(int tickerId, int field, int size) { }
        public virtual void tickSnapshotEnd(int reqId) { }
        public virtual void tickString(int tickerId, int tickType, string value) { }
        public virtual void updateAccountTime(string timeStamp) { }
        public virtual void updateAccountValue(string key, string value, string currency, string accountName) { }
        public virtual void updateMktDepth(int tickerId, int position, int operation, int side, double price, int size) { }
        public virtual void updateMktDepthL2(int tickerId, int position, string marketMaker, int operation, int side, double price, int size) { }
        public virtual void updateNewsBulletin(int msgId, int msgType, string message, string origExchange) { }
        public virtual void updatePortfolio(Contract contract, int position, double marketPrice, double marketValue, double averageCost, double unrealizedPNL, double realizedPNL, string accountName) { }
        public virtual void connectionClosed() { }
        public virtual void error(int id, int errorCode, string errorMsg) { }
        public virtual void error(string str) { }
        public virtual void error(java.lang.Exception e) { }
    }
}

